using System;

namespace JGSY.CMS.LowCode.Platform.Application.DTOs
{
    /// <summary>
    /// 发布队列数据传输对象
    /// 用于传输发布队列中待处理内容的相关信息
    /// </summary>
    public class PublishQueueDto
    {
        /// <summary>
        /// 队列项标识符
        /// </summary>
        public long Id { get; set; }  
        
        /// <summary>
        /// 内容标识符
        /// 待发布内容的唯一标识
        /// </summary>
        public long ContentId { get; set; }
        
        /// <summary>
        /// 发布状态
        /// 如：待发布、发布中、发布成功、发布失败等
        /// </summary>
        public string Status { get; set; } = string.Empty;
        
        /// <summary>
        /// 版本号
        /// 内容的版本标识
        /// </summary>
        public int Version { get; set; }
        
        /// <summary>
        /// 创建时间
        /// 队列项的创建时间戳
        /// </summary>
        public DateTime CreatedAt { get; set; }
        
        /// <summary>
        /// 目标环境
        /// 内容发布到的目标环境，如生产环境、测试环境等
        /// </summary>
        public string? TargetEnvironment { get; internal set; }
        
        /// <summary>
        /// 计划发布时间
        /// 预定的发布时间，为空表示立即发布
        /// </summary>
        public DateTime? ScheduledTime { get; internal set; }
    }
}
